<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>    
        // 1.reverse()对数组中的元素进行反转,将数组元素倒序排列
        var arrs=["a","b","c","d"];
        arrs.reverse();
        console.log(arrs);

        // 2.sort()排序
        var arrs2=[110,101,2,35,78,9,45,5];//非string类型会自动转换为string,默认按照字符编码的顺序
        arrs2.sort();
        console.log(arrs2);

        var arrs3=["cici","baby","alice","coco","lucy"];
        arrs3.sort();//默认按照字符编码的顺序
        console.log(arrs3);

     

        //自定义比较规则
        var arrs4=[110,101,2,35,78,9,45,5];
        // arrs4.sort(函数);
        // return a-b表示升序
        // return b-a表示降序
        arrs4.sort(function(a, b){
            return a-b;
        });
        console.log(arrs4);

        // 3.indexOf(查找的元素)返回指定元素在数组中第一次出现的位置
        // indexOf(查找的元素,start)返回指定元素在数组中指定的索引start开始查找第一次出现的位置
        var arrs5=["熊二","光头强","熊大","熊二","光头强","熊大","王紫薇","熊大","肌肉男"];
        var index=arrs5.indexOf("熊大");
        console.log(index);
        var index2=arrs5.indexOf("吴亦凡");//如果查找不到，返回-1
        console.log(index2);

        // var index3=arrs5.indexOf("熊大",3);//从索引为3的开始查找熊大首次出现的位置
        // console.log(index3);

        // 4.lastIndexOf(查找的元素)返回指定元素在数组中最后一次出现的位置
        // lastIndexOf(查找的元素,start)
        var index4=arrs5.lastIndexOf("熊大");
        console.log(index4);
        var index5=arrs5.lastIndexOf("熊大",4);//从索引为4向前查找熊大首次出现的位置
        console.log(index5);

        // 5.join()将数组拼接为string
        var  arrs6=["a","b","c","d","e"];
        // var str=arrs6.join("*");
        // var str=arrs6.join("-");
        var str=arrs6.join();//如果啥都没填，默认将数组中的元素以逗号隔开,返回的是字符串
        console.log(str);

        // 6.concat()将多个数组拼接成一个数组
        var arr1=["aa","bb","cc"];
        var arr2=["李易峰","李云迪","罗志祥","王力宏"];
        var arr3=["陈鑫宇","紫薇"];
        var res=arr1.concat(arr2,arr3);
        console.log(res);

        // 7.push()向数组末尾添加一个或者多个元素，并返回新的长度
        var arr4=["李易峰","李云迪","罗志祥","王力宏"];
        // arr4.push("陈鑫宇");//等同于arr4[arr4.length]="陈鑫宇"
        var n=arr4.push("陈鑫宇","王子伟","徐伟峰");//返回数组的最新长度
        console.log(arr4);
        console.log(n);

        //8.unshift()向数组开头添加一个或者多个元素，并返回新的长度
        var arr5=["李易峰","李云迪","罗志祥","王力宏"];
        var m=arr5.unshift("陈达","王五","许二麻子");//返回数组的最新长度
        console.log(arr5);
        console.log(m);

        //9.pop()删除并返回数组的最后一个元素
        var arr5=["李易峰","李云迪","罗志祥","王力宏"];
        var result=arr5.pop();//删除数组的最后一个元素
        console.log(result);
        console.log(arr5);
       

        var arr5=["李易峰","李云迪","罗志祥"];
        console.log(arr5.pop());

        // 10.shift()删除并返回数组的第一个元素
        var arr6=["李易峰","李云迪","罗志祥","王力宏"];
        var res=arr6.shift();
        console.log(res);
        console.log(arr6);


        //11.slice(start,stop)返回数组中指定范围内的元素
        // 从start指定的索引开始，到stop结束，不包含stop,[start,stop)

        var arr6=["李易峰","李云迪","罗志祥","王力宏"];
        // var res=arr6.slice(1,3);//从索引为1的开始，截取到3结束，但是不包含3  [1,3)
        var res=arr6.slice(1);//如果只填一个，表示从索引为1的开始，截取到末尾
        console.log(res);

        // 12.splice(start,len)删除元素，并在删除位置添加新的元素，然后返回被删除的元素
        var arr7=["张云龙","王宝钗","王宝强","陈云龙","杨洋","花花"];
        // var res=arr7.splice(1,2);//从索引为1的开始，删除2位
        // var res=arr7.splice(1,2,"老王","老许","老张");//从索引为1的开始，删除2位，并新添加了3位
        arr7.splice(2,0,"老大","老黑");
        console.log(res);//返回的是删除的元素，元素是放置在数组中的
        console.log(arr7);

        // 13.toString()将数组转换为字符串
        var arr8=["张云龙","王宝钗","王宝强","陈云龙","杨洋","花花"];
        var str=arr8.toString();//相当于join()啥都没填的结果
        console.log(str);
        console.log(arr8+"");
       
        //14.valueOf()返回数组对象本身，一般会自动调用
        var arr9=["a","b","c","d"];
        console.log(arr9);
        console.log(arr9.valueOf());

        // 15.forEach()遍历数组中的每个元素
        var usernames=["alice","cici","lucy","lili"];
        // 数组.forEach(函数);
        usernames.forEach(function(value,index){
            // console.log(value);//数组中的元素值
            console.log(index);//数组中的索引值
        });

        var arrs=[100,200,300,400];
        var sum=0;
        arrs.forEach(function(value,index){
            sum+=value;
        });
        console.log(sum);
    </script>
    
</head>
<body>
    
</body>
</html>